纵深防御安全架构体系由什么组成
纵深防御安全架构体系由以下方面组成:
展现层:展现层分为app客户端以及web网页端,app客户端主要有DEX加壳保护,内存防dump,资源文件保护,防二次打包以及防调试保护等等,现在移动互联网化,所以防御战场很多转向移动app端处理,特别是金融和游戏领域显得尤为重要。另外一种就是web网页端,虽然现在网页版比较少,但是基于可动态调整的H5版本化也逐渐流行,所以这一块的防护也是不容忽视,主要是js的混淆加密,以及页面混淆加密机制。
网络层:网络层是中间人攻击的主要手段,所以信息的脱敏变得尤为重要,数据的加密传输,HTTPS的加密传输协议甚至自定义加密传输协议(特别适用于app客户端)就显得比不可少,数据脱敏可以采取非对称加密,但是非对称加密有一个比较大的问题,cpu资源耗损较大,如果能在数据传输阶段就直接采用不可逆加密使最好的,例如密码加密传输可以直接采用MD5加签传输,即使在网络层获取也无从得知明文,或者说得知明文的代价很大。网络层还有一种就是类似云防御机制的WAF系统,通过流量导入,对接口请求的参数进行整体过滤防御,例如xss攻击,sql注入,恶意文件后门传输等可以做到有效防御。
代理层:代理层主要是指类似nginx的代理层,这一层是流量进入系统的最后一个环节,所以nginx代理层的作用也非常重要,主要防护措施可以有:白名单限制,refer域名限制,以及流量控制等等。例如某个不法IP在一段时间之内访问频次过高,就直接将此ip下发到防火墙一层,直接通过网络层把非法IP封杀过滤掉,例如有些电商的秒杀系统就有此做法。
接入层:接入层其实就可以说是系统业务处理的第一层关卡了,在这一层业务逻辑以及用户行为的一些数据都可以获取到,可以进行基于历史数据进行智能模型建模,线上实时行为数据采集通过模型计算出本次访问的风险系数,业务系统可以依据风险系数进行有效防御。这个系统要做好有价值的一个关键因素是数据,通过大量的线上数据喂给算法进行学习,算法会依据数据吐出一个模型框架,这个模型框架的准确度关系到实时风控的有效性。一个好的风控系统除了有大量有价值的数据之外,其次就是算法,算法的有效性直接决定了模型的有效性。
逻辑层:逻辑层负责进行数据运算的,所以在这一层主要还是一点,就是数据的脱敏,以及加密算法的选择。例如密码,在逻辑层密码不应该显示打印,而且在对密码加密的算法选择上需要精细考量,为什么呢?加密算法是一个cpu耗损型运算,而密码又是一个极其敏感的数据,简单加密很有可能惨遭破解,那如何平衡之间的关系就显得很重要了。建议密码存储不能做简单的一次hash运行算,可以通过倒置,混淆,重复叠加多次hash运算来实现。另外对于逻辑层还需要主意逻辑漏洞的防护,对客户端传递的一切参数秉承不信任的做法。
存储层:存储层原则上是终极核心层,可以实施权限管控,这里所要说的其实是另外一个处理方式,就是在存储层做”蜜罐”处理,”蜜罐”是安全防御领域里面的一个象形词,它的基本做法是多复制几个表,在表的取名上近似相像,如果有人操作这些表,就通过监控机制直接告警,使得问题尽早的暴露出来,达到一个早期防御的功效。